/*****
 * 公共方法
 *****/
// 时间格式化
Date.prototype.format = function(fmt){
	var o = {
		"M+": this.getMonth()+1, // 月份
		"d+": this.getDate(), // 日
		"H+": this.getHours(), // 小时
		"m+": this.getMinutes(), // 分
		"s+": this.getSeconds(), // 秒
		"q+": Math.floor((this.getMonth() + 3) / 3), //季度
		"S": this.getMilliseconds()  //	毫秒
	};
	if(/(y+)/.test(fmt)){
		fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
	}
	for(var k in o){
		if(new RegExp("(" + k + ")").test(fmt)){
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
		}
	}
	return fmt;
};

//=======================form 验证 begin=========================//
var someForm = {
	isValid:function(formId){
		var $$ = $('#'+formId);
		if($$){
			var data = $$.serializeArray();
	        var postData = {};
	        var valid = true;
	        $.each(data, function (n, v) {
	            postData[data[n].name] = data[n].value;
	            if(data[n].value === undefined || data[n].value === ""){
	            	valid = false;

	            }
	        });
	        return valid;
		}
		return false;
	},
	getData: function(formId){
		var $$ = $('#'+formId);
		if($$){
			var data = $$.serializeArray();
	        var postData = {};
	        $.each(data, function (n, v) {
	            postData[data[n].name] = data[n].value;
	        });
	        return postData;
		}
		return null;
	}
};

//=======================form 验证 end=========================//


//=======================loading begin=========================//
function showLoading(){
	var load = '<div class="sk-spinner sk-spinner-wave" style="position: absolute;left: 49%;top: 34%;">'
			+	'<div class="sk-rect1"></div>&nbsp;'
			+	'<div class="sk-rect2"></div>&nbsp;'
			+	'<div class="sk-rect3"></div>&nbsp;'
			+	'<div class="sk-rect4"></div>&nbsp;'
			+	'<div class="sk-rect5"></div>&nbsp;'
			+	'</div>';
	$('.spinner-bg').html(load);
	$('.spinner-bg').fadeIn();
}

function hideLoading(){
	$('.spinner-bg').html('');
	$('.spinner-bg').fadeOut();
}

//=======================loading end=========================//


//=======================layui 参数=========================//
var layer = layui.layer;

var laydate = layui.laydate;

var upload = layui.upload;

var form = layui.form;
form.verify({
	// 验证用户名
	username: function(value, item){ //value：表单的值、item：表单的DOM对象
	    if(!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)){
	      return '用户名不能有特殊字符';
	    }
	    if(/(^\_)|(\__)|(\_+$)/.test(value)){
	      return '用户名首尾不能出现下划线\'_\'';
	    }
	    if(/^\d*$/.test(value)){
	      return '用户名不能全为数字';
	    }
	},
	/**
	 * 不需必填的手机号验证
	 * @param value
	 * @param item
	 * @returns {String}
	 */
	unrequirePhone: function(value, item){
		if(value){
			if(!/^1[3|5|8]\d{9}$/.test(value)){
		      return '手机号格式不正确';
		    }
		}
	},
	/**
	 * 不需必填的邮箱验证
	 * @param value
	 * @param item
	 */
	unrequireEmail: function(value, item){
		if(value){
			if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value)){
				return '邮箱格式不正确';
			}
		}
	},
	/**
	 * 不需必填的数字验证
	 * @param value
	 * @param item
	 * @returns {String}
	 */
	unrequireNum: function(value, item){
		if(value){
			if(!/^(\+?[1-9][0-9]{0,2})$/.test(value)){
				return '请填写3位非0开头的数字';
			}
		}
	},
	/***
	 * 调取后台验证
	 * @param value
	 * @param item
	 * @returns {String}
	 */
	repeatBackstage:function(value, item){
		var backUrl = $(item).attr("data-url");
		if(backUrl){
			if(!value){
				return '请填写完整';
			}
			var flag = false;
			var msg = '';
			$.ajax({
	            type: 'get',
	            url: backUrl,
	            data: {'value':value},
	            async: false,
	            success: function (d) {
	            	if(d.code == 200){
	            		if(!d.result.valid){	// 验证失败
	            			msg += d.msg + ": " + d.result.obj;
	            		}else{
	            			flag = true;
	            		}
	            	}else{
	            		msg += d.msg;
	            	}
	            }
	        });
			if(!flag){
				return msg;
			}
		}else{
			return '后台地址获取异常';
		}
	}
});

var layer = layui.layer;

var element = layui.element;

//=======================layui 参数 end=========================//

//======================弹框系列===================================//
function alertError(msg, page){
	if(!msg) msg = '出现错误';
	layer.alert(msg, {
		icon: 2,
		skin: 'layer-ext-moon',
		end: function(index, layero){
			if(page != undefined && page != ''){
				window.location.href = page;
			}
			layer.close(index); //如果设定了yes回调，需进行手工关闭
		}
	});
}

function showLoad(type){
	if(!type) type = 0;
	var load = layer.load(type,{shade:[0.2, '#393D49']});
	return load;
}

function showSimpleTip(msg, time){
	if(!msg) msg = '简单提示';
	if(!time) time = 2000;
	layer.msg(msg, {
		time: time //2s后自动关闭
	});
}
//======================弹框 end===================================//

//======================插件绑定 begin===================================//
/***
 * 绑定Date插件
 * @param {Object} element
 */
function parseDateDom(element){
	$.each(element, function() {
		var item = this;
		laydate.render({
			elem: '#'+this, //指定元素
			done: function(value, date, endDate){
				if(date.year == null){
					$('#'+item).attr('data-val','');
				}else{
					var d = new Date(date.year+'/'+date.month+'/'+date.date).valueOf();
					$('#'+item).attr('data-val',d);
				}
			}
		});
	});
}
//======================插件绑定 end===================================//

//======================Trim===================================//
/***
 * 字符串trim
 */
function strTrim(str){
	return str.replace(/^\s+|\s+$/gm,'');
}

//======================Trim===================================//

/************************BASE PATH*********************************/
var BASE_PATH = "http://127.0.0.1:3000/";
